1. Technical Field The present application relates to multi-core/multi-threading machines and more particularly to locating bottleneck threads in multi-thread applications.
2. Discussion of Related Art
Multi-core/multi-threading machines, such as those having a plurality of central processing units (CPUs) or having a CPU with a plurality of multi-threading cores, are widely used. Workloads may take advantage of thread-level parallelism afforded by the multi-core/multi-threading machines to achieve high efficiency.
Analyzing and identifying performance bottlenecks that inhibit scaling can be difficult, requiring labor intensive data generation, expert knowledge of the application, libraries, middleware, operating system and hardware, and analytical tools. After a bottleneck is identified, determining how to eliminate the bottleneck is also difficult, requiring expert knowledge of the application, libraries, middleware, operating system and hardware, and analytical tools.
Therefore, a need exists for locating bottleneck threads in multi-thread applications and determining how to eliminate the bottleneck.